A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
A. Field of the Invention
This invention relates to the field of telecommunications and more specifically to a method and apparatus for choosing buffer size and error correction coding for real time communication over packet networks.
B. Description of Related Art and Advantages of the Invention
Real time communications such as audio or video can be encoded using various compression techniques. The encoded information can then be placed in data packets with time and sequence information and transported via non-guaranteed Quality of Service (QoS) packet networks. Non-guaranteed packet switched networks include a Local Area Network (LAN), Internet Protocol Network, frame relay network, or an interconnected mixture of such networks such as an Internet or Intranet. One underlying problem with non-guaranteed packet networks is that transported packets are subject to varying loss and delays. Therefore, for real-time communications, a tradeoff exists among the quality of the service, the interactive delay, and the utilized bandwidth. This tradeoff is a function of the selected coding scheme, the packetization scheme, the redundancy of information packeted within the packets, the receiver buffer size, the bandwidth restrictions, and the transporting characteristics of the transporting network.
One technique for transporting real time communication between two parties over a packet switched network requires that both parties have access to multimedia computers. These computers must be coupled to the transporting network. The transporting network could be an Intranet, an Internet, wide area network (WAN), local area network (LAN) or other type of network utilizing technologies such as Asynchronous Transfer Mode (ATM), Frame Relay, Carrier Sense Multiple Access, Token Ring, or the like. As in the case for home personal computers (PCs), both parties to the communication may be connected to the network via telephone lines. These telephone lines are in communication with a local hub associated with a central office switch and Network Service provider. As used herein, the term xe2x80x9chubxe2x80x9d refers to an access point of a communication infrastructure.
This communication technique however, has a number of disadvantages. For example, for a home-based PC connected to a network using an analog telephone line, the maximum bandwidth available depends on the condition of the line. Typically, this bandwidth will be no greater than approximately 3400 Hz. A known method for transmitting and receiving data at rates of up to 33.6 kbits/second over such a connection is described in Recommendation V.34, published by the International Telecommunication Union, Geneva, Switzerland.
Aside from a limited bandwidth, various delays inherent in the PC solution, such as sound card delays, modem delays and other related delays are relatively high. Consequently, the PC-based communication technique is generally unattractive for real-time communication. As used herein, xe2x80x9creal-time communicationxe2x80x9d refers to real-time audio, video or a combination of the two.
Another typical disadvantage of PC-based communication, particularly with respect to PC-based telephone communications, is that the communicating PC receiving the call generally needs to be running at the time the call is received. This may be feasible for a corporate PC connected to an Intranet. However, such a connection may be burdensome for a home based PC since the home PC may have to tie up a phone line.
Another disadvantage is that a PC-based conversation is similar to conversing over a speakerphone. Hence, privacy of conversation may be lost. Communicating over a speakerphone may also present problems in a typical office environment having high ambient noise or having close working arrangements.
In addition, PC-based telephone systems often require powerful and complex voice encoders and therefore require a large amount of processing capability. Even if these powerful voice encoders run on a particularly powerful PC, the encoders may slow down the PC to a point where the advantage of document sharing decreases since the remaining processing power may be insufficient for a reasonable interactive conversation. Consequently, a caller may have to use less sophisticated encoders, thereby degrading the quality of the call.
A general problem encountered in packet switched networks, however, is that the network may drop or lose data packets. Packets may also be delayed during transportation from the sender to the receiver. Therefore, some of the packets at a receiving destination will be missing and others will arrive out of order.
In a packet switched network whose transporting characteristics vary relatively slowly, the immediate past transporting characteristics can be used to infer information about the immediate future transporting characteristics. The dynamic network transporting characteristics may be measured using such variables as packet loss, packet delay, packet burst loss, loss auto-correlation and delay variation.
The present invention relates to a system for real time communication buffer size and error correction coding selection. In one aspect of the present invention, a method for real time communication system buffer selection includes receiving a stream of data packets by a real time receiver. The receiver includes a management device, a first plurality of jitter buffers, and a second plurality jitter buffers. The first plurality of jitter buffers is evaluated and a first optimal jitter buffer having an associated conditional first optimal jitter buffer performance characteristic is chosen. The second plurality of jitter buffers is evaluated and a second optimal jitter buffer is chosen. The second optimal jitter buffer has an associated conditional second optimal jitter buffer performance characteristic. The associated conditional characteristics of the first optimal jitter buffer and the second optimal jitter buffer are compared and either the first optimal jitter buffer or the second optimal jitter buffer is chosen as a preferred buffer of the receiver.
In another aspect of the present invention, a method for transporting an interactive real time media input over a packet network comprises the steps of partitioning and compressing the real time media input into a plurality of frames at a digital waveform encoder and packetizing the frames into a plurality of data packets, some of the data packets packetized having error correction coding information. The data packets are transported from the digital encoder to a receiver and unpacked into the plurality of frames. Packet information associated with the plurality of frames is arranged within each jitter buffer of a first array of jitter buffers and each jitter buffer of a second array of jitter buffers. The first array of jitter buffers and the second array of jitter buffers are evaluated according to a dynamic transporting characteristic of the network and a preferred jitter buffer is selected from either the first or the second array of jitter buffers, the preferred jitter buffer having a jitter buffer length parameter.